+-----Program Profile!-----+
|Large ASM v0.8 BETA!	   |
|by Patrick Wong		   |
|For TI-86/Asm		   |
|Size: Loader is 24 bytes  |
|	 on calc (O.C.)	   |
|	 Demo is 115b O.C.   |
|	 Formatter is ~635b  |
|	 O.C. (but who cares?|
|	 It resets your calc)|
|	 Bolt86-LASM is 1972b|
|What?:It runs LASM progs  |
|DIRECTLY from the RAM!!!!!|
+--------------------------+
;Large ASM for the 86
;An OLD idea
;With NEW knowledge
;Equals Kewl Krap!

by Patrick Wong

Introduction
-=-=-=-=-=-=
First off, I am _NOT_ an experienced ASM guru, but i'm pretty good.
And I had this idea a whole year ago, but I was too crummy at ASM
to be doin' anything as close as this.
So, now i'm good, I wrote it.

Yo!
===
Hey!
Listen folks!
This is SOOOOOOOO important!

This program is meant to keep a huge "un-runnable-via-TI:OS-routines"
ASM program on your calc so you can use a loader to run it.

It works this way:
RAM~PAGE 2: (16 kb)
+----------------------/--------+
| | |*****************/**|Other |
|#|#|**LARGE ASM*****/***|Krappy|
|1|2|**Program data*/****(Or not)
| | |**************/*****|Stuff |
+-----------------/-------------+
#1 - Shell Stuff (6 bytes for lists)
#2 - Loader, MUST BE LOADED ONTO CALC FIRST!
#3 - UNLABELED - LASM PROG! Must be <16351b...
#4 - UNLABELED, Other stuff.

AND THE CALC LOADS STUFF FROM RP2 to RP7 ($8000 to $BFFF for each
of THOSE) for USER RAM. IF YOU load stuff on
in order, you can get kewl results... Time for directions to make their
debut!

Directions
==========
>Either RESET CALC via TI:OS
>Or use the install program <--better!
	The install program CLEARS all the pages of RAM, then resets
	the calc. Its "shutdown" (aka "Meltdown") sequence reminds
	many of us about Linux's shutdown sequence...
Or just load this on your calc when your RAM crashes.
1. Load LargeLd onto calc
2. Load <LARGEASMPROGRAM> onto calc
3. Type Asm(LargeLd

Large Assembly Programs:
	No need for any writeback routines!! Writes DIRECTLY back
	to RAM!
	Can be up to 16351 bytes big with ROM calls
	Or even up to 32735 bytes using two pages.
	Or take ~9300 bytes from Asm_Exec_Ram (supposed to be)
		Be careful about the use of stack...
	Normal ASM program! Except it has to be loaded in certain order.
	No need for string-messing around!
Now the bad news:
	MUST BE LOADED IN SPECIAL ORDER!
	USER CANT USE LISTS!!!!!
	HUGE! (for some)
	LOADER PROGRAM!

Example LASM program:
	.org $801F	;for all LASM's being run with my program
	ret		;we cant have the user running this from any shell
ProgStart:		;or Asm(! It's .org $801F!! Not .org $D748! And it wont fit asm_exec_ram
	...		;come as you are and email me. No flames!
Info: .db 0		;Or I won't make any more games or ideas!!!
	ld a,4	;And AS I TOLD YOU THESE PROGS ARE RUN DIRECTLY
	ld (Info),a	;FROM THE RAM w/o copying to buffer :) So u need no
	...		;writeback routine!
	ret		;Returns to $578C, which displays "Done" because
loader prog doesn't CALL the LASM, it JP's it. That's why it isn't a shell.
AND NEVER USE ANY WRITEBACK ROUTINES IN LASM!!! I JUST FOUND OUT USING VTI...

Have Fun!

--Scabbers
	Patrick Wong <pwong0124@hotmail.com>

Oh yes, I created this because... Huh? Oh yeah because my TI-GL is
screawy and my calc hates CalcExplorer sending more than 1 var per
15 secs.